import winston from 'winston';
import 'winston-daily-rotate-file';

const logger = winston.createLogger({
  level: 'debug', // 日志级别
  format: winston.format.simple(), // 日志格式
  transports: [
    // 日志传输方式
    new winston.transports.Console({
      format: winston.format.combine(
        winston.format.colorize(),
        winston.format.simple(),
      ),
    }), // 控制台
    new winston.transports.File({
      // 磁盘位置
      dirname: 'log', // 文件夹
      filename: 'test.log', // 文件
      maxsize: 1024, // 分隔大小
    }),
    new winston.transports.DailyRotateFile({
      level: 'info', // 限制最小日志等级
      dirname: 'log2',
      filename: 'test-%DATE%.log',
      datePattern: 'YYYY-MM-DD-HH-mm',
      maxSize: '1k',
    }),
  ],
});

winston.loggers.add('console', {
  format: winston.format.combine(
    winston.format.colorize(),
    winston.format.simple(),
  ),
  transports: [new winston.transports.Console()],
});

winston.loggers.add('file', {
  format: winston.format.combine(
    winston.format.timestamp(),
    winston.format.json(),
  ),
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({
      dirname: 'log4',
      filename: 'test.log',
      format: winston.format.json(),
    }),
  ],
});

logger.info('光光光光光光光光光');
logger.error('东东东东东东东东');
logger.debug(66666666);

const logger1 = winston.loggers.get('console');
logger1.info('aaaaa');
logger1.error('bbbbb');

const logger2 = winston.loggers.get('file');
logger2.info('xxxx');
logger2.info('yyyy');
